<!DOCTYPE HTML>
<html lang="ru">
<head>
    <!-- Generated by javadoc (22) on Wed May 08 23:52:00 MSK 2024 -->
    <title>ShopContrtoller</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="dc.created" content="2024-05-08">
    <meta name="description" content="declaration: package: com.test.phoneshope.controller, class: ShopContrtoller">
    <meta name="generator" content="javadoc/ClassWriter">
    <link rel="stylesheet" type="text/css" href="../../../../resource-files/jquery-ui.min.css" title="Style">
    <link rel="stylesheet" type="text/css" href="../../../../resource-files/stylesheet.css" title="Style">
    <script type="text/javascript" src="../../../../script-files/script.js"></script>
    <script type="text/javascript" src="../../../../script-files/jquery-3.6.1.min.js"></script>
    <script type="text/javascript" src="../../../../script-files/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
    <div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
    <nav role="navigation">
        <!-- ========= START OF TOP NAVBAR ======= -->
        <div class="top-nav" id="navbar-top">
            <button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false"
                    aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span
                    class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
            <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a>
            </div>
            <ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
                <li><a href="../../../../index.html">Overview</a></li>
                <li><a href="package-summary.html">Package</a></li>
                <li class="nav-bar-cell1-rev">Class</li>
                <li><a href="package-tree.html">Tree</a></li>
                <li><a href="../../../../index-files/index-1.html">Index</a></li>
                <li><a href="../../../../help-doc.html#class">Help</a></li>
            </ul>
            <ul class="sub-nav-list-small">
                <li>
                    <p>Summary:</p>
                    <ul>
                        <li>Nested</li>
                        <li>Field</li>
                        <li><a href="#constructor-summary">Constr</a></li>
                        <li><a href="#method-summary">Method</a></li>
                    </ul>
                </li>
                <li>
                    <p>Detail:</p>
                    <ul>
                        <li>Field</li>
                        <li><a href="#constructor-detail">Constr</a></li>
                        <li><a href="#method-detail">Method</a></li>
                    </ul>
                </li>
            </ul>
        </div>
        <div class="sub-nav">
            <div id="navbar-sub-list">
                <ul class="sub-nav-list">
                    <li>Summary:&nbsp;</li>
                    <li>Nested&nbsp;|&nbsp;</li>
                    <li>Field&nbsp;|&nbsp;</li>
                    <li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
                    <li><a href="#method-summary">Method</a></li>
                </ul>
                <ul class="sub-nav-list">
                    <li>Detail:&nbsp;</li>
                    <li>Field&nbsp;|&nbsp;</li>
                    <li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
                    <li><a href="#method-detail">Method</a></li>
                </ul>
            </div>
            <div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
                <input type="text" id="search-input" disabled placeholder="Search">
                <input type="reset" id="reset-button" disabled value="reset">
            </div>
        </div>
        <!-- ========= END OF TOP NAVBAR ========= -->
        <span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<main role="main">
    <!-- ======== START OF CLASS DATA ======== -->
    <div class="header">
        <div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.test.phoneshope.controller</a>
        </div>
        <h1 title="Class ShopContrtoller" class="title">Class ShopContrtoller</h1>
    </div>
    <div class="inheritance" title="Inheritance Tree"><a
            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html"
            title="class or interface in java.lang" class="external-link">java.lang.Object</a>
        <div class="inheritance">com.test.phoneshope.controller.ShopContrtoller</div>
    </div>
    <section class="class-description" id="class-description">
        <div class="horizontal-scroll">
            <hr>
            <div class="type-signature"><span class="annotations">@RestController
@RequestMapping("/api/v1/")
</span><span class="modifiers">public class </span><span class="element-name type-name-label">ShopContrtoller</span>
                <span class="extends-implements">extends <a
                        href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html"
                        title="class or interface in java.lang" class="external-link">Object</a></span></div>
            <div class="block">Класс контроллера магазина.</div>
        </div>
    </section>
    <section class="summary">
        <ul class="summary-list">
            <!-- ======== CONSTRUCTOR SUMMARY ======== -->
            <li>
                <section class="constructor-summary" id="constructor-summary">
                    <h2>Constructor Summary</h2>
                    <div class="caption"><span>Constructors</span></div>
                    <div class="summary-table two-column-summary">
                        <div class="table-header col-first">Constructor</div>
                        <div class="table-header col-last">Description</div>
                        <div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()"
                                                                                  class="member-name-link">ShopContrtoller</a>()</code>
                        </div>
                        <div class="col-last even-row-color">&nbsp;</div>
                    </div>
                </section>
            </li>
            <!-- ========== METHOD SUMMARY =========== -->
            <li>
                <section class="method-summary" id="method-summary">
                    <h2>Method Summary</h2>
                    <div id="method-summary-table">
                        <div class="table-tabs" role="tablist" aria-orientation="horizontal">
                            <button id="method-summary-table-tab0" role="tab" aria-selected="true"
                                    aria-controls="method-summary-table.tabpanel" tabindex="0"
                                    onkeydown="switchTab(event)"
                                    onclick="show('method-summary-table', 'method-summary-table', 3)"
                                    class="active-table-tab">All Methods
                            </button>
                            <button id="method-summary-table-tab2" role="tab" aria-selected="false"
                                    aria-controls="method-summary-table.tabpanel" tabindex="-1"
                                    onkeydown="switchTab(event)"
                                    onclick="show('method-summary-table', 'method-summary-table-tab2', 3)"
                                    class="table-tab">Instance Methods
                            </button>
                            <button id="method-summary-table-tab4" role="tab" aria-selected="false"
                                    aria-controls="method-summary-table.tabpanel" tabindex="-1"
                                    onkeydown="switchTab(event)"
                                    onclick="show('method-summary-table', 'method-summary-table-tab4', 3)"
                                    class="table-tab">Concrete Methods
                            </button>
                        </div>
                        <div id="method-summary-table.tabpanel" role="tabpanel">
                            <div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
                                <div class="table-header col-first">Modifier and Type</div>
                                <div class="table-header col-second">Method</div>
                                <div class="table-header col-last">Description</div>
                                <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/Map.html"
                                            title="class or interface in java.util" class="external-link">Map</a>
                                        <wbr>&lt;<a
                                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/String.html"
                                                title="class or interface in java.lang" class="external-link">String</a>,
                                        <wbr>
                                        <a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Boolean.html"
                                           title="class or interface in java.lang" class="external-link">Boolean</a>&gt;</code>
                                </div>
                                <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a href="#clearStock()" class="member-name-link">clearStock</a>()</code></div>
                                <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <div class="block">Метод очистки склада</div>
                                </div>
                                <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/List.html"
                                            title="class or interface in java.util" class="external-link">List</a>
                                        <wbr>&lt;<a href="../models/Phone.html"
                                                    title="class in com.test.phoneshope.models">Phone</a>&gt;</code>
                                </div>
                                <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a href="#getGoods()" class="member-name-link">getGoods</a>()</code></div>
                                <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <div class="block">Метод показывающий все телефоны на складе</div>
                                </div>
                                <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/List.html"
                                            title="class or interface in java.util" class="external-link">List</a>
                                        <wbr>&lt;<a href="../models/Purchase.html"
                                                    title="class in com.test.phoneshope.models">Purchase</a>&gt;</code>
                                </div>
                                <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a href="#getPurchase()" class="member-name-link">getPurchase</a>()</code>
                                </div>
                                <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <div class="block">Метод показывающий все прошедшие покупки</div>
                                </div>
                                <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a href="../models/Purchase.html" title="class in com.test.phoneshope.models">Purchase</a></code>
                                </div>
                                <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a href="#makePurchase(com.test.phoneshope.models.Purchase)"
                                             class="member-name-link">makePurchase</a>
                                        <wbr>
                                        (<a href="../models/Purchase.html" title="class in com.test.phoneshope.models">Purchase</a>&nbsp;purchase)</code>
                                </div>
                                <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <div class="block">Метод совершения покупки</div>
                                </div>
                                <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code>void</code></div>
                                <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a href="#replenishStock(java.util.List)" class="member-name-link">replenishStock</a>
                                        <wbr>
                                        (<a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/List.html"
                                            title="class or interface in java.util" class="external-link">List</a>&lt;<a
                                                href="../models/Phone.html" title="class in com.test.phoneshope.models">Phone</a>&gt;&nbsp;phones)</code>
                                </div>
                                <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <div class="block">Метод пополнения склада телефонами</div>
                                </div>
                                <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code>void</code></div>
                                <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <code><a href="#updatePrices(java.util.Map)"
                                             class="member-name-link">updatePrices</a>
                                        <wbr>
                                        (<a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/Map.html"
                                            title="class or interface in java.util" class="external-link">Map</a>&lt;<a
                                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Integer.html"
                                                title="class or interface in java.lang"
                                                class="external-link">Integer</a>,
                                        <wbr>
                                        <a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Integer.html"
                                           title="class or interface in java.lang" class="external-link">Integer</a>&gt;&nbsp;prices)</code>
                                </div>
                                <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
                                    <div class="block">Метод обновления цен</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="inherited-list">
                        <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html"
                                title="class or interface in java.lang" class="external-link">Object</a></h3>
                        <code><a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#clone()"
                                title="class or interface in java.lang" class="external-link">clone</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)"
                                title="class or interface in java.lang" class="external-link">equals</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#finalize()"
                                title="class or interface in java.lang" class="external-link">finalize</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#getClass()"
                                title="class or interface in java.lang" class="external-link">getClass</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#hashCode()"
                                title="class or interface in java.lang" class="external-link">hashCode</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#notify()"
                                title="class or interface in java.lang" class="external-link">notify</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#notifyAll()"
                                title="class or interface in java.lang" class="external-link">notifyAll</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#toString()"
                                title="class or interface in java.lang" class="external-link">toString</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#wait()"
                                title="class or interface in java.lang" class="external-link">wait</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#wait(long)"
                                title="class or interface in java.lang" class="external-link">wait</a>, <a
                                href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Object.html#wait(long,int)"
                                title="class or interface in java.lang" class="external-link">wait</a></code></div>
                </section>
            </li>
        </ul>
    </section>
    <section class="details">
        <ul class="details-list">
            <!-- ========= CONSTRUCTOR DETAIL ======== -->
            <li>
                <section class="constructor-details" id="constructor-detail">
                    <h2>Constructor Details</h2>
                    <ul class="member-list">
                        <li>
                            <section class="detail" id="&lt;init&gt;()">
                                <h3>ShopContrtoller</h3>
                                <div class="horizontal-scroll">
                                    <div class="member-signature"><span class="modifiers">public</span>&nbsp;<span
                                            class="element-name">ShopContrtoller</span>()
                                    </div>
                                </div>
                            </section>
                        </li>
                    </ul>
                </section>
            </li>
            <!-- ============ METHOD DETAIL ========== -->
            <li>
                <section class="method-details" id="method-detail">
                    <h2>Method Details</h2>
                    <ul class="member-list">
                        <li>
                            <section class="detail" id="getGoods()">
                                <h3>getGoods</h3>
                                <div class="horizontal-scroll">
                                    <div class="member-signature"><span class="annotations">@GetMapping("/shop/stock")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/List.html"
                                            title="class or interface in java.util" class="external-link">List</a>&lt;<a
                                            href="../models/Phone.html" title="class in com.test.phoneshope.models">Phone</a>&gt;</span>&nbsp;<span
                                            class="element-name">getGoods</span>()
                                    </div>
                                    <div class="block">Метод показывающий все телефоны на складе</div>
                                    <dl class="notes">
                                        <dt>Returns:</dt>
                                        <dd>возвращает список всех телефонов на складе</dd>
                                    </dl>
                                </div>
                            </section>
                        </li>
                        <li>
                            <section class="detail" id="getPurchase()">
                                <h3>getPurchase</h3>
                                <div class="horizontal-scroll">
                                    <div class="member-signature"><span class="annotations">@GetMapping("/shop/purchase")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/List.html"
                                            title="class or interface in java.util" class="external-link">List</a>&lt;<a
                                            href="../models/Purchase.html" title="class in com.test.phoneshope.models">Purchase</a>&gt;</span>&nbsp;<span
                                            class="element-name">getPurchase</span>()
                                    </div>
                                    <div class="block">Метод показывающий все прошедшие покупки</div>
                                    <dl class="notes">
                                        <dt>Returns:</dt>
                                        <dd>возвращает список всех покупок</dd>
                                    </dl>
                                </div>
                            </section>
                        </li>
                        <li>
                            <section class="detail" id="makePurchase(com.test.phoneshope.models.Purchase)">
                                <h3>makePurchase</h3>
                                <div class="horizontal-scroll">
                                    <div class="member-signature"><span class="annotations">@PostMapping("/shop/purchase")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../models/Purchase.html"
                                                                               title="class in com.test.phoneshope.models">Purchase</a></span>&nbsp;<span
                                            class="element-name">makePurchase</span>
                                        <wbr>
                                        <span class="parameters">(@Validated @RequestBody
 <a href="../models/Purchase.html" title="class in com.test.phoneshope.models">Purchase</a>&nbsp;purchase)</span>
                                        throws <span class="exceptions"><a
                                                href="../exception/ResourceNotFoundException.html"
                                                title="class in com.test.phoneshope.exception">ResourceNotFoundException</a></span>
                                    </div>
                                    <div class="block">Метод совершения покупки</div>
                                    <dl class="notes">
                                        <dt>Parameters:</dt>
                                        <dd><code>purchase</code> - - покупка</dd>
                                        <dt>Returns:</dt>
                                        <dd>возвращает совершенную покупку</dd>
                                        <dt>Throws:</dt>
                                        <dd><code><a href="../exception/ResourceNotFoundException.html"
                                                     title="class in com.test.phoneshope.exception">ResourceNotFoundException</a></code>
                                            - - ошибка, вызываемая, если телефон отсутсвует на складе
                                        </dd>
                                    </dl>
                                </div>
                            </section>
                        </li>
                        <li>
                            <section class="detail" id="replenishStock(java.util.List)">
                                <h3>replenishStock</h3>
                                <div class="horizontal-scroll">
                                    <div class="member-signature"><span class="annotations">@PostMapping("shop/stock")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">replenishStock</span>
                                        <wbr>
                                        <span class="parameters">(@RequestBody
 <a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/List.html"
    title="class or interface in java.util" class="external-link">List</a>&lt;<a href="../models/Phone.html"
                                                                                 title="class in com.test.phoneshope.models">Phone</a>&gt;&nbsp;phones)</span>
                                        throws <span class="exceptions"><a
                                                href="../exception/ResourceNotFoundException.html"
                                                title="class in com.test.phoneshope.exception">ResourceNotFoundException</a></span>
                                    </div>
                                    <div class="block">Метод пополнения склада телефонами</div>
                                    <dl class="notes">
                                        <dt>Parameters:</dt>
                                        <dd><code>phones</code> - - список новых телефонов</dd>
                                        <dt>Throws:</dt>
                                        <dd><code><a href="../exception/ResourceNotFoundException.html"
                                                     title="class in com.test.phoneshope.exception">ResourceNotFoundException</a></code>
                                            - - прокидывается, из-за жалоб IDE на get() без isPresent()
                                        </dd>
                                    </dl>
                                </div>
                            </section>
                        </li>
                        <li>
                            <section class="detail" id="updatePrices(java.util.Map)">
                                <h3>updatePrices</h3>
                                <div class="horizontal-scroll">
                                    <div class="member-signature"><span class="annotations">@PutMapping("shop/stock")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updatePrices</span>
                                        <wbr>
                                        <span class="parameters">(@RequestBody
 <a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/Map.html"
    title="class or interface in java.util" class="external-link">Map</a>&lt;<a
                                                    href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Integer.html"
                                                    title="class or interface in java.lang" class="external-link">Integer</a>,<wbr><a
                                                    href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Integer.html"
                                                    title="class or interface in java.lang" class="external-link">Integer</a>&gt;&nbsp;prices)</span>
                                        throws <span class="exceptions"><a
                                                href="../exception/ResourceNotFoundException.html"
                                                title="class in com.test.phoneshope.exception">ResourceNotFoundException</a></span>
                                    </div>
                                    <div class="block">Метод обновления цен</div>
                                    <dl class="notes">
                                        <dt>Parameters:</dt>
                                        <dd><code>prices</code> - - обновленные цены</dd>
                                        <dt>Throws:</dt>
                                        <dd><code><a href="../exception/ResourceNotFoundException.html"
                                                     title="class in com.test.phoneshope.exception">ResourceNotFoundException</a></code>
                                            - - ошибка, вызываемая, если телефон отсутсвует на складе
                                        </dd>
                                    </dl>
                                </div>
                            </section>
                        </li>
                        <li>
                            <section class="detail" id="clearStock()">
                                <h3>clearStock</h3>
                                <div class="horizontal-scroll">
                                    <div class="member-signature"><span class="annotations">@DeleteMapping("shop/stock")
</span><span class="modifiers">public</span>&nbsp;<span class="return-type"><a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/util/Map.html"
                                            title="class or interface in java.util" class="external-link">Map</a>&lt;<a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/String.html"
                                            title="class or interface in java.lang" class="external-link">String</a>,<wbr><a
                                            href="https://docs.oracle.com/en/java/javase/22/docs/api/java.base/java/lang/Boolean.html"
                                            title="class or interface in java.lang" class="external-link">Boolean</a>&gt;</span>&nbsp;<span
                                            class="element-name">clearStock</span>()
                                    </div>
                                    <div class="block">Метод очистки склада</div>
                                </div>
                            </section>
                        </li>
                    </ul>
                </section>
            </li>
        </ul>
    </section>
    <!-- ========= END OF CLASS DATA ========= -->
</main>
</body>
</html>
